import {users} from '../db/usermsg.js';
import url from 'url';

async function dir(ctx,next) {
	ctx.body = `<h1>首页</h1>`
}

async function getusers(ctx, next) {

	const Urlp = url.parse(ctx.url, true); 		// 拿到页码和每页展示数
	console.log(Urlp);
	
	const page = Urlp.query.page || 1;		// 默认的页码
	const limit = Urlp.query.limit || 5; 	// 默认的每页展示数
	const totalPages = Math.ceil(users.length / limit);	// 总页码
	const newusers = [];	// 创建新的数组（用于分页返回对象列表）

	// 判断请求数值是否有效
	if (page <= totalPages && limit <= users.length) {
		const nowIndex = (page - 1) * limit;		// 起始
		let maxIndex = +nowIndex + +limit;		// 结尾

		if (maxIndex > users.length) {		// 确保结尾索引不会超过 users 的长度
			maxIndex = users.length;
		}

		for (let i = nowIndex; i < maxIndex; i++) {		// 返回分页的内容
			newusers.push(users[i]);
		}
		
	} else {
		for (let i = 0; i < 5; i++) {		// 默认展示1-5条
			newusers.push(users[i]);
		}

		ctx.redirect(`/users?page=1&limit=5`);		// 重定向
	}

	ctx.render("Users.html", { users: newusers });	//用户信息渲染 

}

async function usersById(ctx, next) {
	console.log(`usermsg：${ctx.params.id}`);
}

async function insertusers(ctx, next) {
	ctx.render("adAndUp.html");
}

async function updateusers(ctx, next) {
	ctx.render("adAndUp.html");
}

async function deleteusers(ctx, next) {
	ctx.render("delete.html");
}


export const object = {
	"get@/":dir,
	"get@/users": getusers,
	"get@/users/:id": usersById,
	"post@/usersAdd": insertusers,
	"put@/usersUpdate/:id": updateusers,
	"delete@/usersDelete/:id": deleteusers,
};